package com.impetus.project.skilltest.client.stub;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.impetus.project.skilltest.common.dataobject.Candidate;
import com.impetus.project.skilltest.common.dataobject.Question;
import com.impetus.project.skilltest.common.dataobject.ScheduledTest;
import com.impetus.project.skilltest.common.dataobject.TestTransData;

public interface TestServiceAsync {

	void getScheduledTests(Candidate candidate,
			AsyncCallback<List<ScheduledTest>> callback);

	void getNextQuestion(Candidate candidate, ScheduledTest scheduledTest,
			AsyncCallback<Question> callback);

	void evaluateAndSaveProgrammingQuestion(TestTransData transData,
			AsyncCallback<TestTransData> callback);

	void evaluateProgrammingQuestion(TestTransData transData,
			AsyncCallback<TestTransData> callback);

	void saveUpdateScheduledTest(ScheduledTest scheduledTest,
			AsyncCallback<Void> callback);

	void getScheduledTestByTestId(String testId,
			AsyncCallback<List<ScheduledTest>> callback);
}
